Universal Console Dashboard Project:  GensRR edition
=====================================================

What is it?
-----------
Console emulators are suprisingly hard to use without a keyboard to access various functions.
This is counter-productive if your goal is to use a HTPC or something similar to play console games on a gamepad only.
The UCDP will utilize any means available to add a menu to emulators with gives you access to features via not only a gamepad,
but the console's original gamepad (with a usb adaptor of course).  In this case I'm using lua scripting built into GensRR to 
add an in-game menu.

Requirements:
-------------
GensRR, currently found at:  http://code.google.com/p/gens-rerecording/downloads/list  (Any version on the site should work, including the svn build)
A gamepad OR a keyboard encoder with a button mapped to the "tilde" key.


Installation:
-------------
Copy the contents of this folder to the folder where Gens is installed.

Command-line Usage:
-------------------

gens.exe "C:\path\to\rom\rom.ext"  -lua ".\Menu\GensMenu.lua"


How to Use:
-----------
Launch gens via the syntax posted above.  When you want to bring up the menu, hold the Start button and the Mode button.
Optionally pressing the tilde key on teh keyboard will bring up the menu.  

While in the menu the B button selects and the A button goes back.  

In the menu you can load and save game states to one of any 10 slots, reset the game or Power off (aka exit the emulator).  

User Settings:
--------------
There are a select few setttings within the GensMenu script in the menu folder.  They are well documented within the script,
so I won't go over them here, but keep in mind you are editing program code, not some config file, so keep the syntax in tact!


FAQS:
-----

Q: Can I use gamepad buttons/keyboard keys not mapped to Gens to bring up the menu?
A: In theory yes, in practice not so much.  searching for "input.tilde" in the script and replacing it with a keyboard key of your choice will work fine.  
   As far as gamepads go the only way to do that is to bind the button to "Lua Hotkey 1" in the Gens input setup.  There seems to be a bug though
   Using the hotkey binding seems to crash the lua script occasionally, so USE AT YOUR OWN RISK!!!

Q: The Menu is too slow/too fast!  What gives?
A: At the top of the script is a dbounce setting.  If the menu is too fast increase this value, if it's too slow, decrease it.  
   Vsync settings will effect this so get everything setup to your liking before altering this value!

Q: Man that Resolution on the menu is terrible.  Can't you make a hi-res menu?
A: Nope, the Menu is being rendered in-game, so we are limited to the Genesis's native resolution of 320x224.

Skinners:
---------
There is a Skinner section of the lua script if you wish to make your own menu.
Each Menu element has a X position value, a Y position value, an Alpha value and a URL.

All images are in gdi format.  To make a gdi, make a bmp, gif, or jpeg (not reccomened) and run it through my img2gdi converter.
It'll take a while, so be patient.  Anything magenta in the image (255,0,255) will be made transparent.

The native resolution of Gens is 320x224, so you are limited to that.

Gens will auto-scale the menu regardless of resolution.



Bugs/Issues/Notes/Ect:
----------------------
When you use the power button in the menu, Gens performs a hard exit.  That means any settings you've changed in Gens will NOT be saved!  When changing settings, exit
gens manually!

The load/save state functions optionally save gdi snapshots to load in the menu (turned ON by default).  This works perfectly BUT gdi images are uncompressed.  Each one is 2.8kb, which doesn't sound like a lot but that means if you use all 10 save states you've made 2.8 megs of images!  Per Game!  In the futue I may add an option to delete images via the menu, but for now just be mindful of it and remember that you can delete gdSnaps, which will NOT effect your game saves, by removing them from the "gdSnaps" folder.    